package cn.tedu.csmall.product.repo;

import cn.tedu.csmall.product.pojo.vo.BrandListItemVO;
import cn.tedu.csmall.product.pojo.vo.BrandStandardVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 缓存品牌数据到Redis的接口
 * @author 何惠民
 */
@Transactional
public interface IBrandRedisRepository {

    String BRAND_ITEM_KEY_PREFIX = "brand:item:";

    String BRAND_LIST_KEY = "brand:list:";

    String BRAND_ITEM_KEYS_KEY = "brand:item-keys";
    /**
     * 写入相册数据
     * @param brandStandardVO
     */
    void save(BrandStandardVO brandStandardVO);

    /**
     * 插入list数据
     * @param brands
     */
    void save(List<BrandListItemVO> brands);

    /**
     * 删除所有
     * @return
     */
    Long deleteALL();

    /**
     * 获取brand数据
     * @param id
     * @return
     */
    BrandStandardVO get(Long id);

    /**
     * 批量查数据
     * @return
     */
    List<BrandListItemVO> list();

    /**
     * 查去莫一段数据
     * @param start 开始位置
     * @param end 结束位置
     * @return
     */
    List<BrandListItemVO> list(long start,long end);
}
